home *** CD-ROM | disk | FTP | other *** search
- REM
- DEFINT I-N
- REM $INCLUDE: 'qb.bi'
- 'for interrrupt routines (use qbx.bi for BC7)
- DIM inregs AS RegTypeX
- DIM outregs AS RegTypeX
- ON KEY(10) GOSUB 100
- KEY(10) ON
- REM--stick the main program here to generate the screen and
- REM--then hit F10. Then wait and wait, this program is not fast.
- STOP
- REM--laserjet printscreen routine
- REM--it is set for screen 12 (640 x 480) but should work
- REM--for any mode by changing nxrange, nyrange and the screen mode
- 100 nxrange = 640
- nyrange = 480
- SCREEN 12
- VIEW
- WINDOW (0, 0)-(nxrange - 1, nyrange - 1)
- c1% = 4 'this is number of points per pixel
- OPEN "lpt1:" FOR RANDOM AS #7
- WIDTH #7, 255
- PRINT #7, CHR$(27); "E";
- inregs.ax = &HD00 'for reading pixel
- inregs.bx = 1 'page #
- FOR i = 1 TO nxrange - 1
- FOR i1 = 1 TO nyrange - 1
- inregs.cx = i 'pixel column #
- inregs.dx = i1 'pixel row #
- CALL INTERRUPTX(&H10, inregs, outregs) 'video
- IF (outregs.ax AND &HFF) > 0 THEN 'just want AL
- PRINT #7, CHR$(27); "*p"; (nyrange - i1) * c1%; "x"; (nxrange - i) * c1%; "Y";
- PRINT #7, CHR$(27); "*c"; c1%; "A";
- PRINT #7, CHR$(27); "*c"; c1%; "B";
- PRINT #7, CHR$(27); "*c0P";
- END IF
- nxt: NEXT i1
- NEXT i
- PRINT #7, CHR$(27); "E";
- CLOSE #7
- RETURN
- END
-
-